{"version":3,"file":"static/chunks/pages/_site/[city]/internet/[alias]-b3634a87e41c29b1.js","mappings":"uFACKA,OAAOC,SAAWD,OAAOC,UAAY,IAAIC,KAAK,CAC7C,iCACA,WACE,OAAO,EAAQ,W,sKCoBvB,EAV6B,WAA8CC,G,IAA3CC,EAAM,EAANA,OAAQ,EAAF,EAAEC,eAAAA,OAAc,IAAG,IAAC,EAA6C,MAAC,CACpGC,IAAK,oBAA0B,OAANH,GACzBI,OAAQ,MACRC,cAAc,EACdC,YAAa,CACTL,OAAc,OAANA,QAAM,IAANA,OAAAA,EAAAA,EAAQM,KAAK,KACrBL,eAAAA,K,4ECFFM,EAAcC,KAAQ,W,OAAM,uHAAoC,C,wDAQhEC,EAAmC,Y,IAAGC,EAAI,EAAJA,KAAMC,EAAU,EAAVA,WAAYC,EAAW,EAAXA,YACpDC,GAAWC,EAAAA,EAAAA,UAAQ,W,MAAM,CAC3B,CAAEC,KAAM,oBAAqBC,MAAON,EAAKO,OACzC,CAAEF,KAAM,cAAeC,MAAON,EAAKK,MACnC,CAAEA,KAAM,kBAAmBC,MAAON,EAAKQ,QACvC,CAAEH,KAAM,mBAAoBC,MAAON,EAAKS,QACxC,CAAEJ,KAAM,uBAAwBC,MAAON,EAAKU,cAC5C,CAAEL,KAAM,oBAAqBC,MAAON,EAAKO,UAC1C,CAACP,IAEEW,GAAiBC,EAAAA,EAAAA,cAAY,SAACC,EAA8CC,GAC9E,IAAIC,EAASD,EAKb,OAJAD,EAAUG,SAAQC,SAAAA,GACdF,EAAe,OAANA,QAAM,IAANA,OAAAA,EAAAA,EAAQG,WAAWD,EAASZ,KAAMY,EAASX,UAGjDS,IACR,IAEGI,GAAQf,EAAAA,EAAAA,UAAQ,WAClB,OAAKH,EAGEU,EAAeR,EAAUF,EAAWmB,WAFhC,iHAAwCpB,OAAjBE,EAAY,YAAiB,OAAZF,EAAKS,UAGzD,CAACR,EAAYD,EAAMW,EAAgBR,IAEhCkB,GAAcjB,EAAAA,EAAAA,UAAQ,WACxB,OAAKH,EAGEU,EAAeR,EAAUF,EAAWqB,iBAFhC,4JAAgDtB,OAAjBE,EAAY,YAAkB,OAAbF,EAAKS,OAAO,0oBAGxE,CAACR,EAAYD,EAAMW,EAAgBR,IAEtC,OAAKF,GAKD,SAACsB,EAAAA,EAAM,CACHJ,MAAOA,EACPE,YAAaA,EACbG,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,QAASC,EAAAA,EAAAA,O,UAET,SAAC/B,EAAW,CAACI,WAAYA,OAZtB,SAAC4B,EAAAA,QAAS,CAACC,WAAY,OAiBtC/B,EAAgBgC,gBAAkB,W,OAAA,4BAAMC,G,IAC5BC,EAEAC,EAAgB7C,EAAS8C,EAAKC,EAM9BC,EAEFC,EAAK,EAEctC,EAGnBE,EACAqC,EACAC,EAEAC,EAIAxC,EAE8BA,EAA5ByC,EAAcC,E,kFAzBiBC,EAAAA,EAAAA,GAAaZ,EAAS,CAAEa,gBAAgB,I,cAAzE,EAAsB,OAApBZ,qBAEAC,EAAsCF,EAAtCE,MAAOY,EAA+Bd,EAA/Bc,MAASzD,MAAS8C,EAAaH,EAAbG,IAAKC,EAAQJ,EAARI,IAElCH,IACAc,EAAAA,EAAAA,IAAqB,CAAEZ,IAAAA,EAAKa,SAAU,sBAGpC,EAAed,EAAbG,SAEFC,EAAQD,I,EAGVC,EADAtC,KAAQiD,EAAiB,EAAjBA,YAGN/C,GAAcgD,EAAAA,EAAAA,IAAkBZ,GAChCC,EAA8B,kBAAVlD,EAAqBA,EAAQ,GACjDmD,GAAYW,EAAAA,EAAAA,GAAaf,G,UAEFI,EAAUY,WAAwBC,EAC3D,CAAE/D,OAAQ,CAACgE,EAAAA,EAAAA,QAAiBA,EAAAA,EAAAA,uBAAgCA,EAAAA,EAAAA,WAC5Df,I,eAFEE,EAAiB,EAAH,KAIdxC,IAAawC,EAAec,WAAYd,EAAee,QAErDd,GAA4BzC,EAAAA,GAAc,IAA1CyC,aAAcC,EAAc1C,EAAd0C,UAElB1C,IAAe0C,GAAaD,IAC5BK,EAAAA,EAAAA,IAAqB,CAAEZ,IAAAA,EAAKa,SAAUN,KAGrCzC,GAAckC,IACfA,EAAIL,WAAa,K,kBAGd,CAAE9B,KAAAA,EAAMC,WAAAA,EAAYC,YAAAA,I,4DApCS8B,G,gCAAN,GAuClC,S,kCCpHO,M,yCAAKsB,GAAAA,EACD,QAAG,UADFA,EAEA,SAAG,YAFHA,EAGC,UAAG,YAHJA,EAIM,eAAG,kBAJTA,EAKc,uBAAG,yBALjBA,EAMA,SAAG,W,CANHA,IAAAA,EAAO,O","sources":["webpack://_N_E/?e6f3","webpack://_N_E/../../packages/api-domru/src/api-content/v1/tariff-line-by-alias/index.ts","webpack://_N_E/./pages/_site/[city]/internet/[alias].tsx","webpack://_N_E/../../packages/api-domru/src/api-content/_dto/tariff-lines-common-types.ts"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_site/[city]/internet/[alias]\",\n function () {\n return require(\"private-next-pages/_site/[city]/internet/[alias].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_site/[city]/internet/[alias]\"])\n });\n }\n ","import { EExpand } from '@r1-frontend/api-domru/api-content/_dto/tariff-lines-common-types';\n\nimport { IRequest } from '@r1-frontend/shared/types/IRequest';\n\ntype IRequestDto = {\n restrictIgnore?: number,\n expand?: EExpand[],\n}\n;\n\n/*\n* Получения линейки тарифов по алиасу\n* https://master.api-content.sandbox.d2c.r-one.io/docs/v1#/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BA%D0%B8%20%D1%82%D0%B0%D1%80%D0%B8%D1%84%D0%BE%D0%B2/get_v1_tariff_lines__alias_\n*/\nconst getTariffLineByAlias = ({ expand, restrictIgnore = 0 }: IRequestDto, alias: string): IRequest => ({\n uri: `/v1/tariff-lines/${alias}`,\n method: 'GET',\n withProvider: true,\n queryParams: {\n expand: expand?.join(','),\n restrictIgnore,\n },\n});\n\nexport default getTariffLineByAlias;\n","import React, { useCallback, useMemo } from 'react';\nimport { NextPage } from 'next';\nimport dynamic from 'next/dynamic';\n\nimport { EExpand } from '@r1-frontend/api-domru/api-content/_dto/tariff-lines-common-types';\nimport getTariffLineByAlias from '@r1-frontend/api-domru/api-content/v1/tariff-line-by-alias';\nimport { ICurrentCity } from '@r1-frontend/entities/City/models/ICurrentCity';\n\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport ErrorPage from '~/pages/_error';\nimport { ITariffLine } from '~/src/entities/tariff-lines';\nimport Layout from '~/src/features/_layout';\nimport { initialProps } from '~/src/helpers/basePageFunc';\nimport getRequester from '~/src/helpers/getRequester';\nimport { nonPermanentRedirect } from '~/src/helpers/url';\nimport { selectCompanyName } from '~/src/store/selectors/city';\n\nconst TariffLines = dynamic(() => import('~/src/features/tariffLines'));\n\ninterface Props {\n city: ICurrentCity,\n tariffLine?: ITariffLine | false,\n companyName: string,\n}\n\nconst TariffLinesPage: NextPage = ({ city, tariffLine, companyName }) => {\n const cityInfo = useMemo(() => [\n { name: '{city_sale_phone}', value: city.phone },\n { name: '{city_name}', value: city.name },\n { name: '{city_dat_name}', value: city.cityTo },\n { name: '{city_pred_name}', value: city.cityIn },\n { name: '{city_support_phone}', value: city.supportPhone },\n { name: '{city_sale_phone}', value: city.phone },\n ], [city]);\n\n const renderCityInfo = useCallback((variables: { name: string, value: string }[], inputString?: string) => {\n let output = inputString;\n variables.forEach(variable => {\n output = output?.replaceAll(variable.name, variable.value);\n });\n\n return output;\n }, []);\n\n const title = useMemo(() => {\n if (!tariffLine) {\n return `Провайдер интернета ${companyName} в ${city.cityIn}`;\n }\n return renderCityInfo(cityInfo, tariffLine.seo_title);\n }, [tariffLine, city, renderCityInfo, cityInfo]);\n\n const description = useMemo(() => {\n if (!tariffLine) {\n return `Официальный сайт провайдера ${companyName} в ${city.cityIn}. Подключить быстрый Интернет, Цифровое телевидение и онлайн-кинотеатр, Домофон и Видеонаблюдение. Адреса и телефоны офисов.`;\n }\n return renderCityInfo(cityInfo, tariffLine.seo_description);\n }, [tariffLine, city, renderCityInfo, cityInfo]);\n\n if (!tariffLine) {\n return ;\n }\n\n return (\n \n \n \n );\n};\n\nTariffLinesPage.getInitialProps = async(options) => {\n const { validatedAccessToken } = await initialProps(options, { isNeedAuthData: true });\n\n const { store, query: { alias }, res, req } = options;\n\n if (validatedAccessToken) {\n nonPermanentRedirect({ res, location: '/lk/change-tariff' });\n }\n\n const { getState } = store;\n\n const state = getState();\n const {\n city: { currentCity: city },\n } = state;\n\n const companyName = selectCompanyName(state);\n const aliasQuery = typeof alias === 'string' ? alias : '';\n const doRequest = getRequester(req);\n\n const tariffLineResp = await doRequest.apiContent(getTariffLineByAlias(\n { expand: [EExpand.Tariffs, EExpand.RecommendedTariffLines, EExpand.Contents] },\n aliasQuery,\n ));\n const tariffLine = tariffLineResp.isSuccess ? tariffLineResp.payload : false;\n\n const { redirect_url, is_active } = tariffLine || {};\n\n if (tariffLine && !is_active && redirect_url) {\n nonPermanentRedirect({ res, location: redirect_url });\n }\n\n if (!tariffLine && res) {\n res.statusCode = 404;\n }\n\n return { city, tariffLine, companyName };\n};\n\nexport default TariffLinesPage;\n","export enum EExpand {\n Tariffs = 'tariffs',\n MinPrice = 'minPrices',\n ShopItems = 'shopItems',\n ShopItemsProps = 'shopItems.props',\n RecommendedTariffLines = 'recommendedTariffLines',\n Contents = 'contents',\n}\n"],"names":["window","__NEXT_P","push","alias","expand","restrictIgnore","uri","method","withProvider","queryParams","join","TariffLines","dynamic","TariffLinesPage","city","tariffLine","companyName","cityInfo","useMemo","name","value","phone","cityTo","cityIn","supportPhone","renderCityInfo","useCallback","variables","inputString","output","forEach","variable","replaceAll","title","seo_title","description","seo_description","Layout","withMenu","withChat","withFooter","bgColor","COLORS","ErrorPage","statusCode","getInitialProps","options","validatedAccessToken","store","res","req","getState","state","aliasQuery","doRequest","tariffLineResp","redirect_url","is_active","initialProps","isNeedAuthData","query","nonPermanentRedirect","location","currentCity","selectCompanyName","getRequester","apiContent","getTariffLineByAlias","EExpand","isSuccess","payload"],"sourceRoot":""}